import React, { Component } from "react";
import Mrouter from "./router/indexRouter";
import Tabbar from "./commponents/Tabbar";
import "./views/Css/app.css";
// import store from "./redux/store";
import { connect } from "react-redux";
// import { Button } from "antd-mobile";
class App extends Component {
  // state = {
  //   isShow: true,
  // };
  //isShow直接通过父组件传值 props里就可以取到 就不需要给默认值了
  //store.subsribe订阅
  componentDidMount() {
    // store.subscribe(() => {
    //   console.log("app中订阅", store.getState());
    //   this.setState({ isShow: store.getState().TabbarReducer.show });
    // });  redux写法
    console.log(this.props);
  }
  constructor(props) {
    super(props);
    this.state = {};
  }

  render() {
    return (
      // Routes只匹配一个 react-router-dom6以上 5以下是switch 同理在 react router v6 中，我们不向 Route 组件传递 children 属性，而是使用 element 属性。例如，<Route path="/about" element={<About />} />。

      // 当使用react router时，请确保将应该为特定路由渲染的组件作为<Component />，而不是Component。
      <div>
        {/* <Button shape="default" color="primary">
          移动端按钮
        </Button> */}
        <Mrouter>{this.props.isShow && <Tabbar></Tabbar>}</Mrouter>
      </div>
    );
  }
}
//映射状态到属性
const mapStateToProps = (state) => {
  console.log("公共的状态值都在这里", state);
  return {
    a: 1,
    b: 1,
    isShow: state.TabbarReducer.show,
  };
};
// 外层用provider内层用connect包裹  会传一个形参过来
export default connect(mapStateToProps)(App);
